The present invention relates to software management device, and more particularly to a device for managing specifications of source programs composing software systems.
A software system is composed of a plurality of source programs. For example, a product delivery system may be composed of a source program for displaying a reception screen, a source program for processing a reception process, and a source program for displaying a delivery screen. Source programs are produced separately, and then they are compiled and linked together to produce the software system.
A programmer produces a source program according to a document so called a program specification (hereinafter simply referred to as a specification). The specification includes a detailed statement of the data available for processing, the required outputs and so on. Examples of a program specifications are shown in "Encyclopedia of computer science and engineering, second edition", Van Nostrand Reinhold Company, New York, 1983, pp. 570-574.
The specifications are described in formats that are easy to understand such as a table. The specifications are saved even after the system is released and referred to for debugging or upgrading the software system.
Software manufacturers often produce a software system by slightly modifying a prior software system. They also release new versions of a software system to the same customer one after another. Thus, there are many variations of software systems of the same type and, therefore, there are many variations of the specifications of the software system.
For identifying a software system from other software systems of the same type, a system name and a system revision number are given to each software system. For example, the system name identifies the client to which the software system was released. The system revision number (hereinafter referred to as system revision) identifies the version of a software systems that has the same system name.
The details of functions of a software system can be examined by looking through specifications of the software system. However, this task is apt to fall into difficulty because, once the system is released, it is often difficult to know the correspondence between software systems and specifications.
The difference between first and second software systems can be examined by comparing the specifications of the first and second software systems. However, this task is also apt to fall into difficulty because the volumes of the specifications are huge.